/**index.less**/
/* 相机相关样式 */
.camera-container {
  position: relative;
  width: 100%;
  margin-bottom: 20rpx;
  border-radius: 16rpx;
  overflow: hidden;
  box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
}

.camera-controls {
  position: absolute;
  bottom: 30rpx;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 40rpx;
}

.camera-btn {
  padding: 16rpx 40rpx;
  border-radius: 30rpx;
  font-size: 28rpx;
  border: none;
  color: #fff;
  box-shadow: 0 4rpx 8rpx rgba(0, 0, 0, 0.2);

  &.take-photo {
    background-color: #007AFF;
  }

  &.cancel {
    background-color: rgba(0, 0, 0, 0.5);
  }
}

page {
  height: 100vh;
  background-color: #f0f5ff;
  background-image: linear-gradient(135deg, #e6f7ff 0%, #f0f5ff 100%);
}

.container {
  min-height: 100vh;
  padding: 25rpx;
  box-sizing: border-box;
  position: relative;
  padding-bottom: 120rpx; /* 为底部导航栏留出空间 */
  justify-content: start;
}

.glass {
  background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15);
  border-radius: 16rpx;
  margin-bottom: 30rpx;
}

.clock-card {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 25rpx 0;
  
  .clock-btn-container {
    margin-bottom: 20rpx;
    text-align: center;

    .clock-btn {
      width: 240rpx;
      height: 240rpx;
      border-radius: 50%;
      background: linear-gradient(145deg, #3b82f6, #60a5fa);
      color: white;
      font-size: 36rpx;
      font-weight: bold;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 10rpx 20rpx rgba(59, 130, 246, 0.3);

      &.checked {
        background: linear-gradient(145deg, #10b981, #34d399);
        box-shadow: 0 10rpx 20rpx rgba(16, 185, 129, 0.3);
      }

      &:active {
        transform: scale(0.95);
      }
    }
  }
  
  .date-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    
    .current-date {
      font-size: 28rpx;
      color: #666;
      margin-bottom: 8rpx;
    }
    
    .today-text {
      font-size: 32rpx;
      font-weight: bold;
      color: #333;
    }
  }
}

.stats-card {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 25rpx 0;
  
  .card-title {
    font-size: 32rpx;
    font-weight: bold;
    color: #3b82f6;
    display: block;
    margin-bottom: 20rpx;
  }
}

.today-courses {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 25rpx 0;
  
  .card-title {
    font-size: 32rpx;
    font-weight: bold;
    color: #3b82f6;
    display: block;
    margin-bottom: 20rpx;
  }
}

.course-list {
  white-space: nowrap;
  padding: 10rpx 0;

  .course-card {
    display: inline-flex;
    align-items: center;
    margin-right: 20rpx;
    margin-left: 15rpx;
    padding: 20rpx;
    min-width: 400rpx;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 12rpx;
    box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05);
    
    .course-icon {
      width: 80rpx;
      height: 80rpx;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-right: 20rpx;
      border-style: solid;
      border-width: 0rpx;
      .icon-image {
        width: 40rpx;
        height: 40rpx;
      }
    }
    
    .course-info {
      flex: 1;
      display: flex;
      flex-direction: column;
      
      .course-name {
        font-size: 28rpx;
        font-weight: bold;
        margin-bottom: 8rpx;
        color: #333;
      }
      
      .course-time {
        font-size: 24rpx;
        color: #666;
      }
    }
    
    .course-status {
      font-size: 24rpx;
      color: #f59e0b;
      font-weight: bold;
      
      &.normal {
        color: #07C160;
      }
      
      &.checked-text {
        color: #10b981;
      }
    }
  }
}

.calendar {
  margin: 20rpx 0;
  width: 100%;
  display: flex;
  flex-direction: column;


  .calendar-header {
    margin-bottom: 20rpx;

    .month-selector {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0 20rpx;
      margin-bottom: 20rpx;

      .prev-month,
      .next-month {
        padding: 10rpx;
        color: #666;
      }

      .current-month {
        font-size: 32rpx;
        font-weight: bold;
        color: #333;
      }
    }

    .weekdays {
      display: flex;
      justify-content: space-around;
      padding: 10rpx 0;
      border-bottom: 1px solid rgba(0, 0, 0, 0.1);

      .weekday {
        width: 80rpx;
        text-align: center;
        color: #666;
      }
    }
  }

  .calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10rpx;
    padding: 10rpx;

    .calendar-day {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      height: 80rpx;
      border-radius: 8rpx;
      font-size: 28rpx;
      color: #999; // 非当前月份的日期颜色

      &.current-month {
        color: #333; // 当前月份的日期颜色
      }

      &.today {
        background-color: #3b82f6;
        color: white;
        font-weight: bold;
      }

      &.checked {
        background-color: #10b981;
        color: white;
      }

      .attendance-status {
        font-size: 20rpx;
        margin-top: 4rpx;
      }
    }
  }
}

/* 底部导航栏 */
.tab-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100rpx;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(10px);
  display: flex;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  z-index: 100;
  
  .tab-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 24rpx;
    
    &.active {
      color: #3b82f6;
    }
    
    .tab-icon {
      width: 48rpx;
      height: 48rpx;
      margin-bottom: 4rpx;
      
      &.clock-icon {
        background-color: currentColor;
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
        mask-size: contain;
        mask-repeat: no-repeat;
        mask-position: center;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
        -webkit-mask-size: contain;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: center;
      }
      
      &.user-icon {
        background-color: currentColor;
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='12' cy='7' r='4'%3E%3C/circle%3E%3C/svg%3E");
        mask-size: contain;
        mask-repeat: no-repeat;
        mask-position: center;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='12' cy='7' r='4'%3E%3C/circle%3E%3C/svg%3E");
        -webkit-mask-size: contain;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: center;
      }
    }
  }
}

.camera {
  width: 100vw;
  height: 100vh;
}
